1. Field of the Invention
The present invention relates to a program conversion device and method for automatically converting a given program, and more particularly to a program conversion device and method which allow automatically converting a program so as to insure performance in a selected section.
2. Description of the Related Art
The major functions of an operating system are hardware management, task management, data management and input/output management. Task management in particular is for managing the execution sequence of tasks, and plays an important role to operate the CPU, memory and input/output devices efficiently.
A task is a control unit for batch managing a flow of a program, such as startup, execution and end. A program which operates under the management of the operating system is handled as a task, and all the operations of the operating system related to the execution of a program are handled as tasks. In the case of describing a task as a program in prior art, it is necessary to explicitly describe the startup and the end of a task.
In terms of parallel processing, a method for performing parallel execution by automatically detecting the processing units which can be executed in parallel automatically and separating it into tasks to perform parallel execution by analyzing the control structure of the program and the dependency relationship of the data is known (e.g. JP-A-6-250988).
Or a method of performing parallel execution by designating a parallel compiler instruction statement for defining an area where parallel processing is possible, instead of designating task separation, so that this portion is automatically separated into tasks, is known (e.g. JP-A-2004-94581).
In these conventional methods, task separation is explicitly described or task separation is performed by automatically detecting the parallel execution portion. An object of these methods is to improve the average processing performance by parallel execution.
In the case of parallel execution in the media processing execution environment, it is more important to insure processing performance rather than to improve average processing performance. In this environment where various processings are executed simultaneously, it is difficult to set the relative priority of the processings.